The chirp modulation method is a modulation method in which the frequency of a signal (chirp) varies linearly over time in a bandwidth of Fs Hz. A chirp having a positive gradient in the frequency-time plane is generally referred to as an up-chirp, for example chirp 1 and chirp 2 on FIG. 1. A chirp having a negative gradient in the frequency-time plane is generally referred to as a down-chirp, for example chirp 3 on FIG. 1.
A chirp can be represented by a sequence of N samples. One or more identical contiguous chirps can form a symbol that represents a data value to be communicated. A chirp can be represented mathematically as:C(g,p)=ejπg(n−ƒn(p))(n+1−ƒn(p))/N  (equation 1)where g is the gradient of the chirp, N is the number of samples in the sequence, n is a sample in the sequence, p is a symbol value, fn(p) is a function that encodes p onto the received chirp, which implicitly may also be a function of g, n, N and other constants, and C is the received chirp sequence, which is normally evaluated for all integer values of n from 0 to N−1 in order. The number of valid values of p is the symbol set size, which is nominally N. However, the symbol set size can be more or less than N depending on the quality of the link. The value of g can have any value greater than 0 and less than N. Preferably, g is an integer between 1 and N−1. Due to the modular nature of this expression negative gradients are obtained from N−1 backwards. Hence, N−2 is equivalent to a negative gradient of −2. Where there are more than one identical contiguous chirps in a symbol, each chirp individually conveys the same value which is the symbol value of the symbol.
Chirp 1 in FIG. 1 has a starting frequency of −Fs/2 and a gradient of 1. It increases linearly in frequency over a period of N samples at a sample rate of Fs to reach a frequency close to +Fs/2. Since this is a complex sampled system +Fs/2 is the same as −Fs/2. Multiple chirps are usually contiguous but may start with a different frequency. The signal phase is typically made continuous throughout a sequence of chirps. In other words, after the signal has reached +Fs/2 at n=N−1, the next symbol starts with n=0 again. FIG. 1 illustrates an example in which two consecutive chirps have the same symbol value, whereas the third chirp is different. An apparent discontinuity in frequency between chirp 1 and chirp 2 occurs at n=N.
Chirp 4 in FIG. 2 has a gradient of 2 and a starting frequency of −Fs/2. Because it has double the gradient of the chirps of FIG. 1, it increases linearly in frequency to +Fs/2 in half the number of samples that the chirps in FIG. 1 do, i.e. it reaches close to +Fs/2 after close to N/2 samples. The chirp then wraps around in frequency. Since this is a sampled system, these frequency wraps are in effect continuous and have continuous phase. The chirp repeats the frequency sweep from −Fs/2 to +Fs/2 between samples N/2 and N.
The chirps also have continuous frequency and phase from one end of the chirp to the other. A cyclic shift of the samples that make up a chirp creates another valid chirp.
It is known to synchronise communications between a chirp transmitter and a chirp receiver by sending a synchronisation signal from the transmitter which consists of a sequence of up and down chirps having unity gradient. This concept is illustrated on FIG. 3a. The received synchronisation signal is correlated twice, firstly against a reference up chirp and secondly against a reference down chirp. This yields a set of correlation peaks for the up chirps (tu) and a set of correlation peaks for the down chirps (td). The peak positions are recorded relative to a fixed local clock, as illustrated on FIG. 3b. The start of a chirp with respect to the local clock ts and the frequency offset between the transmitter and receiver fs can be determined using the to and td results for pairs of correlated chirps according to the following simultaneous equations:
                    fs        =                              (                                          t                1                            -                              t                2                                      )                    ⁢          k                                    (                  equation          ⁢                                          ⁢          2                )                                ts        =                              (                                          t                1                            +                              t                2                                      )                    2                                    (                  equation          ⁢                                          ⁢          3                )            where t1 is the number of samples between a local reference and the position of the up chirp peaks, t2 is the number of samples between a local reference and the position of the down chirp peaks, ts is the time offset in samples, and k is a factor relating the gradient of the chirp to the linear change in frequency over time. For example, if k is N/2Fs, then fs is in Hz. This described synchronisation method determines both the timing and frequency offsets of the transmitter and the receiver.
A problem with this described synchronisation method is that in a multi-user system sharing spectral resources, typically several devices try to send synchronisation signals simultaneously. Consequently, a receiver receives multiple synchronisation signals from different transmitters at the same time. The receiver is unable to distinguish which synchronisation signal is meant for it because all the synchronisation signals have the same form as that illustrated in FIG. 3a. Consequently, the likelihood of the receiver synchronising to the wrong transmitter or failing to synchronise at all is high. For example, if multiple transmitters send unity gradient up chirps and down chirps, then a receiver that is listening only for unity up and unity down chirps may synchronise to the wrong transmitter. In a conventional system this incorrect connection may be resolved by, for example, exchanging and confirming addresses in an additional header packet. However, in a chirp communication system where messages are typically very short and symbols may be several milliseconds long, this overhead in exchanging header information causes increased latency and additional spectral pollution. Additionally, this overhead in exchanging header information requires more processing and transmit power.
Thus, there is a need for an improved method of synchronising chirp communications between a transmitter and a receiver that achieves both timing and frequency synchronisation in a multi-user system and reduces the amount of additional information exchanged between the transmitter and receiver.